package foodmaterial.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import foodmaterial.action.valid.ObjectNullValid;
import foodmaterial.utils.Constants;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

public class Orders implements Serializable {
    private static final long serialVersionUID = 4573757746553205309L;
    private Long id ;
    @ObjectNullValid(message = "配送客户不能为空")
    private Long customerId ; //'配送客户',
    private String customerName ;
    private String customerType ;
    @ObjectNullValid(message = "餐别不能为空")
    private Long mealsTypeId ;// '餐别',
    private String mealsTypeName ;
    private BigDecimal amountOfMoney ;
    private Integer mealPersons; // '就餐人数',
    private BigDecimal mealStandard ;// '餐标',
    private Long supplyTypeId; // '配送方式',
    private String supplyTypeName ;
    private Long routerId;// '配送线路id',
    private String routerName ;
    @JsonFormat(pattern=Constants.DEFAULT_DATE_FORMAT,timezone="GMT+8")
    @ObjectNullValid(message = "就餐日期为空")
    private Date eatDate; //'就餐时间',
    @JsonFormat(pattern=Constants.DEFAULT_DATE_FORMAT,timezone="GMT+8")
    private Date supplyDate; // '配送时间=就餐时间-提前配送天数',
    @JsonFormat(pattern=Constants.DEFAULT_DATE_FORMAT,timezone="GMT+8")
    private Date distributionDate ;//配货日期
    private String driver;// '配送司机',
    private String areaMasterName ;//区域主管
    private Long supplyTeam ;// '配货小组',
    private String supplyTeamName ;// '配货小组',
    private Long operationPerson ;// '出单人',
    private String operationPersonName ;
    @JsonFormat(pattern=Constants.DEFAULT_DATE_TIME_FORMAT,timezone="GMT+8")
    private Date operationDate;// '出单时间'
    private Long lastUpdatePerson;
    private String lastUpdatePersonName;
    @JsonFormat(pattern=Constants.DEFAULT_DATE_TIME_FORMAT,timezone="GMT+8")
    private Date lastUpdateTime ;
    private String status ;
    private Boolean printStatus = Boolean.FALSE; //打印状态
    private String orderType = Constants.ORDER_TYPE_DISTRIBUTION;//客户订单方式
    private Boolean orderLock = Boolean.FALSE;//订单是否锁定，防止自下单用户再修改订单
    private Boolean condiment ;//订单是否是调料
    private String remark ;
    private List<OrdersDetail> detail ;
    private List<OrdersRecipe> recipeDetail ;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Long customerId) {
        this.customerId = customerId;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getCustomerType() {
        return customerType;
    }

    public void setCustomerType(String customerType) {
        this.customerType = customerType;
    }

    public Long getMealsTypeId() {
        return mealsTypeId;
    }

    public void setMealsTypeId(Long mealsTypeId) {
        this.mealsTypeId = mealsTypeId;
    }

    public String getMealsTypeName() {
        return mealsTypeName;
    }

    public void setMealsTypeName(String mealsTypeName) {
        this.mealsTypeName = mealsTypeName;
    }

    public BigDecimal getAmountOfMoney() {
        return amountOfMoney;
    }

    public void setAmountOfMoney(BigDecimal amountOfMoney) {
        this.amountOfMoney = amountOfMoney;
    }

    public Integer getMealPersons() {
        return mealPersons;
    }

    public void setMealPersons(Integer mealPersons) {
        this.mealPersons = mealPersons;
    }

    public BigDecimal getMealStandard() {
        return mealStandard;
    }

    public void setMealStandard(BigDecimal mealStandard) {
        this.mealStandard = mealStandard;
    }

    public Long getSupplyTypeId() {
        return supplyTypeId;
    }

    public void setSupplyTypeId(Long supplyTypeId) {
        this.supplyTypeId = supplyTypeId;
    }

    public String getSupplyTypeName() {
        return supplyTypeName;
    }

    public void setSupplyTypeName(String supplyTypeName) {
        this.supplyTypeName = supplyTypeName;
    }

    public Long getRouterId() {
        return routerId;
    }

    public void setRouterId(Long routerId) {
        this.routerId = routerId;
    }

    public String getRouterName() {
        return routerName;
    }

    public void setRouterName(String routerName) {
        this.routerName = routerName;
    }

    public Date getEatDate() {
        return eatDate;
    }

    public void setEatDate(Date eatDate) {
        this.eatDate = eatDate;
    }

    public Date getSupplyDate() {
        return supplyDate;
    }

    public void setSupplyDate(Date supplyDate) {
        this.supplyDate = supplyDate;
    }

    public Date getDistributionDate() {
        return distributionDate;
    }

    public void setDistributionDate(Date distributionDate) {
        this.distributionDate = distributionDate;
    }

    public String getDriver() {
        return driver;
    }

    public void setDriver(String driver) {
        this.driver = driver;
    }

    public String getAreaMasterName() {
        return areaMasterName;
    }

    public void setAreaMasterName(String areaMasterName) {
        this.areaMasterName = areaMasterName;
    }

    public Long getSupplyTeam() {
        return supplyTeam;
    }

    public void setSupplyTeam(Long supplyTeam) {
        this.supplyTeam = supplyTeam;
    }

    public String getSupplyTeamName() {
        return supplyTeamName;
    }

    public void setSupplyTeamName(String supplyTeamName) {
        this.supplyTeamName = supplyTeamName;
    }

    public Long getOperationPerson() {
        return operationPerson;
    }

    public void setOperationPerson(Long operationPerson) {
        this.operationPerson = operationPerson;
    }

    public String getOperationPersonName() {
        return operationPersonName;
    }

    public void setOperationPersonName(String operationPersonName) {
        this.operationPersonName = operationPersonName;
    }

    public Date getOperationDate() {
        return operationDate;
    }

    public void setOperationDate(Date operationDate) {
        this.operationDate = operationDate;
    }

    public Long getLastUpdatePerson() {
        return lastUpdatePerson;
    }

    public void setLastUpdatePerson(Long lastUpdatePerson) {
        this.lastUpdatePerson = lastUpdatePerson;
    }

    public String getLastUpdatePersonName() {
        return lastUpdatePersonName;
    }

    public void setLastUpdatePersonName(String lastUpdatePersonName) {
        this.lastUpdatePersonName = lastUpdatePersonName;
    }

    public Date getLastUpdateTime() {
        return lastUpdateTime;
    }

    public void setLastUpdateTime(Date lastUpdateTime) {
        this.lastUpdateTime = lastUpdateTime;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Boolean getPrintStatus() {
        return printStatus;
    }

    public void setPrintStatus(Boolean printStatus) {
        this.printStatus = printStatus;
    }

    public String getOrderType() {
        return orderType;
    }

    public void setOrderType(String orderType) {
        this.orderType = orderType;
    }

    public Boolean getOrderLock() {
        return orderLock;
    }

    public void setOrderLock(Boolean orderLock) {
        this.orderLock = orderLock;
    }

    public Boolean getCondiment() {
        return condiment;
    }

    public void setCondiment(Boolean condiment) {
        this.condiment = condiment;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public List<OrdersDetail> getDetail() {
        return detail;
    }

    public void setDetail(List<OrdersDetail> detail) {
        this.detail = detail;
    }

    public List<OrdersRecipe> getRecipeDetail() {
        return recipeDetail;
    }

    public void setRecipeDetail(List<OrdersRecipe> recipeDetail) {
        this.recipeDetail = recipeDetail;
    }
}
